package algoWing42.controlador;

import titiritero.vista.TextoDinamico;
import algoWing42.modelo.Juego;
import algoWing42.vista.VentanaJuego;
import algoWing42.vista.VistaFondo;

/**
 * es un hilo encargado de controlar las actualizacaciones del escenario de
 * juego
 * 
 * */

public class HiloJuegoNuevo extends Thread {

	public void run() {

		Juego modelo = Juego.singleton();
		ControladorAlgoWing42 controlador = new ControladorAlgoWing42(modelo); 
																
		VentanaJuego vista = new VentanaJuego(controlador);
		vista.setResizable(false);
		
		controlador.setSuperficieDeDibujo(vista.getSuperficieDeDibujo());
		controlador.agregarDibujable(new VistaFondo());								
		controlador.agregarKeyPressObservador(new EscuchadorDeKeyPress(modelo.jugador()));

		vista.setVisible(true);
		ControladorVida c = new ControladorVida();
		ControladorScore s = new ControladorScore();
		ControladorNivel nivel=new ControladorNivel();
		//////////////////vida y score/////////////
		TextoDinamico vida = new TextoDinamico(c);
		TextoDinamico score = new TextoDinamico(s);
		TextoDinamico niv = new TextoDinamico(nivel);
		score.setPosicionable(s);
		vida.setPosicionable(c);
		niv.setPosicionable(nivel);
		controlador.agregarDibujable(vida);
		controlador.agregarDibujable(score);
		
		
		controlador.agregarDibujable(niv);
		controlador.setIntervaloSimulacion(40);

		controlador.comenzarJuego();
	}
}
